Skip to content

Add Mbox Driver to Support AMD-Xilinx IPI Mailbox Hardware #92768

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

neeliajay
Copy link

This patchset includes the following:

  • Support AMD-Xilinx Inter-Processor Interrupt (IPI) Mailbox as Zephyr MBOX driver for Versal-NET, Versal Gen2
  • Add IPI Device Tree support in Versal-NET, Versal Gen2
  • Add samples, twister support for Versal-NET, Versal Gen2

Ajay Neeli added 6 commits July 7, 2025 11:09
Add device tree bindings for the AMD-Xilinx Inter Processor Interrupts
(IPI) mailbox.

The IPI architecture allows the passing of messages across the system
without the complications of autonomous read-write transactions and
polling inefficiency. The notification of the interrupt is also
possible without message buffers on some platforms. Some IPI channels
are hard-wired to particular core while others can be configured to
assign to any core on AMD-Xilinx heterogenous multiprocessor platform.

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add a new MBOX driver for the AMD-Xilinx IPI Mailbox, providing support
for the Versal-NET and Versal Gen 2 platforms

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add the inter-processor interrupt (IPI) nodes to the device tree for the
Versal-NET platform, as per Versal-NET Technical Reference Manual (TRM).

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add the inter-processor interrupt (IPI) nodes to the device tree for the
Versal Gen2 platform, as per Versal Gen2 Technical Ref Manual (AM026)

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add support for testing AMD-Xilinx Inter-Processor-Interrupt(IPI) on
Versal-NET RPU.

Add an overlay configuration to assign IPI-5 as the default
inter-processor interrupt for RPU0 in Versal-NET. While IPI-5 is preset,
it can be adjusted based on design requirements.

rpu0_rpu0_mailbox is set up in loopback mode for testing.

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Add support for testing AMD-Xilinx Inter-Processor-Interrupt(IPI) on
Versal Gen2 RPU.

Add an overlay configuration to enable IPI-1 as the default
inter-processor interrupt for RPU0 in Versal Gen2. While IPI-1 is the
preset, it can be adjusted based on design requirements.

rpu0_rpu0_mailbox is set up in loopback mode for testing.

Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
Copy link

sonarqubecloud bot commented Jul 7, 2025

@wearyzen wearyzen removed their request for review July 7, 2025 09:52
Copy link
Contributor

@michalsimek michalsimek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obviously can't comment driver itself but I did run tests on Qemu and I can't see any issue. DT is also aligned with binding we used on U-Boot/Linux that's why happy about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants